home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / despereaux-swings.swf / scripts / Box2D / Common / Math / b2Sweep.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  1.7 KB  |  64 lines

  1. package Box2D.Common.Math
  2. {
  3.    public class b2Sweep
  4.    {
  5.        
  6.       
  7.       public var localCenter:b2Vec2;
  8.       
  9.       public var c:b2Vec2;
  10.       
  11.       public var a:Number;
  12.       
  13.       public var c0:b2Vec2;
  14.       
  15.       public var a0:Number;
  16.       
  17.       public var t0:Number;
  18.       
  19.       public function b2Sweep()
  20.       {
  21.          localCenter = new b2Vec2();
  22.          c0 = new b2Vec2();
  23.          c = new b2Vec2();
  24.          super();
  25.       }
  26.       
  27.       public function Advance(param1:Number) : void
  28.       {
  29.          var _loc2_:Number = NaN;
  30.          if(t0 < param1 && 1 - t0 > Number.MIN_VALUE)
  31.          {
  32.             _loc2_ = (param1 - t0) / (1 - t0);
  33.             c0.x = (1 - _loc2_) * c0.x + _loc2_ * c.x;
  34.             c0.y = (1 - _loc2_) * c0.y + _loc2_ * c.y;
  35.             a0 = (1 - _loc2_) * a0 + _loc2_ * a;
  36.             t0 = param1;
  37.          }
  38.       }
  39.       
  40.       public function GetXForm(param1:b2XForm, param2:Number) : void
  41.       {
  42.          var _loc3_:b2Mat22 = null;
  43.          var _loc4_:Number = NaN;
  44.          var _loc5_:Number = NaN;
  45.          if(1 - t0 > Number.MIN_VALUE)
  46.          {
  47.             _loc4_ = (param2 - t0) / (1 - t0);
  48.             param1.position.x = (1 - _loc4_) * c0.x + _loc4_ * c.x;
  49.             param1.position.y = (1 - _loc4_) * c0.y + _loc4_ * c.y;
  50.             _loc5_ = (1 - _loc4_) * a0 + _loc4_ * a;
  51.             param1.R.Set(_loc5_);
  52.          }
  53.          else
  54.          {
  55.             param1.position.SetV(c);
  56.             param1.R.Set(a);
  57.          }
  58.          _loc3_ = param1.R;
  59.          param1.position.x -= _loc3_.col1.x * localCenter.x + _loc3_.col2.x * localCenter.y;
  60.          param1.position.y -= _loc3_.col1.y * localCenter.x + _loc3_.col2.y * localCenter.y;
  61.       }
  62.    }
  63. }
  64.